////////////////////////////////////////////////////////
// CodePlex - metacpp
//--------------------
// This file is part of "metacpp" project on CodePlex. The
// goal if the project is to demonstrate basic techniques
// used in C++ metaprogrammins.
// For more info and comments please visit:
// http://www.codeplex.com/metacpp/
////////////////////////////////////////////////////////

#pragma once;

namespace metacpp {


/**
 * Static "if" - selects one of types T1 or T2
 * according to given static condition
 */
template<bool cond, typename T1, typename T2>
struct type_if {
	typedef T1 type;
};
template<typename T1, typename T2>
struct type_if<false, T1, T2> {
	typedef T2 type;
};

}  // end of namespace